This invention is generally related to digital recording systems, and more particularly, to digital audio playing and recording.
The fidelity provided by high resolution digitized forms of images and sounds, coupled with the ease of manipulating such digital data has resulted in the increasing popularity of systems for playing and recording digital media. In such systems, digital media is typically stored as a number of track sequences on a mass storage device. A computer system is configured to determine the location of original data in the mass storage, and may then record a sequence of video frames or a stream of audio by sequentially transferring the record data to replace the original data in the mass storage. Similarly, during playback, the computer system determines the location of playback data and then sequentially reads that data from the mass storage into an output device where the data may be experienced by the user.
Of course, the digital media must be converted back into analog form to be displayed or heard. In general, the sample period used in analog-to-digital and digital-to-analog conversion determines how fast the digital media becomes available for recording (using analog-to-digital conversion), and how fast the analog information becomes available for playback (using digital-to-analog conversion). As the times required for access (write and read) to mass storage devices such as rotating magnetic disks are considerably longer than the typical sample period, the mass storage lags during playback. Similarly, the mass storage may be overwhelmed with data during record. To alleviate these conditions, a buffer may be used to temporarily store the data while it is being transferred to and from the mass storage.
Despite the use of a buffer, there has been great difficulty in designing a digital playback and recording system that behaves as a conventional analog tape recorder and allows the user to seamlessly switch between record and playback of the original material. Digital systems typically exhibit a delay (that is noticeable by the user) in switching back to the original digital media during a recording or editing session. This problem is further explained in detail below.
A recording session typically begins with a track being played by the system. As the user is experiencing the media (video or audio), he or she may then wish to begin recording over the original media, experience the material being recorded (while recording), stop recording at a later point, and immediately continue experiencing what is on the original track when the recording is stopped. This is also sometimes referred to as punch-in (stop playback of the original track and begin record), and punch-out (stop record and resume playback of the original track beyond the stop record point). In performing punch-in/punch-out, the user will be switching between play, record, and then back to play, where the user expects, or at least would like to hear (if dealing with an audio system), at the output device, a smooth and relatively unnoticeable transition between the recorded material and the material on the original track following the punch-out point.
Two known techniques are used in digital media recording systems to implement punch-in/punch-out. A first technique is the manual punch. In this case, the recording system does not know when punch-out, i.e., stop recording and begin playback, will occur. The user is allowed to determine the punch-out time at any moment.
The manual punch-out technique, however, presents a noticeable delay in most recording systems between the time at which the user decides to stop recording and the time at which the correct playback data arrives at the output device and is experienced by the user. This delay is due to the time required to locate the original data in the mass storage device at the punch-out point, and becomes more pronounced when a large number of channels of data are involved. For example, it has been observed that for sixteen digital audio channels, the synchronization of the sixteen channels will present a delay of one-half to two-thirds of a second between the time the user requests punch-out and the point at which the playback data arrives at the speaker.
Another solution to the punch-out delay attempts to predefine the punch-in and punch-out points of the sequence, before the recording session has started. In this way, the recording system knows the duration of the record portion, and can therefore determine where in the mass storage the correct playback data begins and thus "prefetch" the correct playback data into the buffer, in time for switching from record to playback at the predetermined punch-out point. However, such an implementation does not allow the user to alter the punch-out time once actual recording begins and still maintain a seamless transition between what is being recorded and the correct original playback data that follows the punch-out point.
Therefore, in view of the foregoing, there is a need for a seamless punch-out technique which also allows the user to punch-out at any moment during the record session, similar to the standard analog tape recorder model.